
OPERATOR_1(plus, +, 2)
OPERATOR_1(minus, -, 2)

OPERATOR_2(add, +, 5)
OPERATOR_2(sub, -, 5)
OPERATOR_2(mul, *, 4)
OPERATOR_2(div, /, 4)
OPERATOR_2i(mod, %, 4)

OPERATOR_1r(fpp, ++, 2)
OPERATOR_1r(fmm, --, 2)
OPERATOR_1b(bpp, ++, 1)
OPERATOR_1b(bmm, --, 1)

OPERATOR_2(and, &&, 12)
OPERATOR_2(or, ||, 13)
OPERATOR_1i(not, !, 2)

OPERATOR_2i(andb, &, 9)
OPERATOR_2i(orb, |, 11)
OPERATOR_1i(notb, ~, 2)

OPERATOR_2i(lsh, <<, 6)
OPERATOR_2i(rsh, >>, 6)

OPERATOR_2r(ass, =, 15)
OPERATOR_2r(ada, +=, 15)
OPERATOR_2r(sua, -=, 15)
OPERATOR_2r(mua, *=, 15)
OPERATOR_2r(dia, /=, 15)

OPERATOR_2ir(moa , %=, 15)
OPERATOR_2ir(ana , &=, 15)
OPERATOR_2ir(ora , |=, 15)
OPERATOR_2ir(lsa , <<=, 15)
OPERATOR_2ir(rsa , >>=, 15)

OPERATOR_2(gr, >, 7)
OPERATOR_2(le, <, 7)
OPERATOR_2(gre, >=, 7)
OPERATOR_2(lee, <=, 7)
OPERATOR_2(equ, ==, 8)
OPERATOR_2(nqu, !=, 8)

OPR_FUNCTION_1(sin)
OPR_FUNCTION_1(cos)
OPR_FUNCTION_1(tan)
OPR_FUNCTION_1(asin)
OPR_FUNCTION_1(acos)
OPR_FUNCTION_1(atan)
OPR_FUNCTION_1(sqrt)
OPR_FUNCTION_1(exp)
OPR_FUNCTION_1(abs)
OPR_FUNCTION_1(ceil)
OPR_FUNCTION_1(floor)
OPR_FUNCTION_1(log)
OPR_FUNCTION_1(int)
OPR_FUNCTION_1(bool)
